



<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#FFF">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">

<link rel="icon" type="image/ico" sizes="32x32" href="/images/favicon.ico">
  <meta http-equiv="Cache-Control" content="no-transform">
  <meta http-equiv="Cache-Control" content="no-siteapp">


<link rel="alternate" type="application/rss+xml" title="寻找未曾见过的你" href="https://ashgen.gitee.io/rss.xml" />
<link rel="alternate" type="application/atom+xml" title="寻找未曾见过的你" href="https://ashgen.gitee.io/atom.xml" />
<link rel="alternate" type="application/json" title="寻找未曾见过的你" href="https://ashgen.gitee.io/feed.json" />

<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Mulish:300,300italic,400,400italic,700,700italic%7CFredericka%20the%20Great:300,300italic,400,400italic,700,700italic%7CNoto%20Serif%20JP:300,300italic,400,400italic,700,700italic%7CNoto%20Serif%20SC:300,300italic,400,400italic,700,700italic%7CInconsolata:300,300italic,400,400italic,700,700italic&display=swap&subset=latin,latin-ext">

<link rel="stylesheet" href="/css/app.css?v=0.2.5">

  
  <meta name="keywords" content="区块链" />


<link rel="canonical" href="https://ashgen.gitee.io/2023/03/01/%E5%8C%BA%E5%9D%97%E9%93%BE/Hyperledger%20Fabric%E8%81%94%E7%9B%9F%E9%93%BE%E7%AE%80%E4%BB%8B/">



  <title>
联盟链简介 - 区块链 |
米花町2丁目21番地 = 寻找未曾见过的你 = 本站制作时长两年半</title>
<meta name="generator" content="Hexo 6.3.0"></head>
<body itemscope itemtype="http://schema.org/WebPage">
  <div id="loading">
    <div class="cat">
      <div class="body"></div>
      <div class="head">
        <div class="face"></div>
      </div>
      <div class="foot">
        <div class="tummy-end"></div>
        <div class="bottom"></div>
        <div class="legs left"></div>
        <div class="legs right"></div>
      </div>
      <div class="paw">
        <div class="hands left"></div>
        <div class="hands right"></div>
      </div>
    </div>
  </div>
  <div id="container">
    <header id="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="inner">
        <div id="brand">
          <div class="pjax">
          
  <h1 itemprop="name headline">联盟链简介
  </h1>
  
<div class="meta">
  <span class="item" title="创建时间：2023-03-01 10:31:25">
    <span class="icon">
      <i class="ic i-calendar"></i>
    </span>
    <span class="text">发表于</span>
    <time itemprop="dateCreated datePublished" datetime="2023-03-01T10:31:25+08:00">2023-03-01</time>
  </span>
  <span class="item" title="本文字数">
    <span class="icon">
      <i class="ic i-pen"></i>
    </span>
    <span class="text">本文字数</span>
    <span>4.1k</span>
    <span class="text">字</span>
  </span>
  <span class="item" title="阅读时长">
    <span class="icon">
      <i class="ic i-clock"></i>
    </span>
    <span class="text">阅读时长</span>
    <span>4 分钟</span>
  </span>
</div>


          </div>
        </div>
        <nav id="nav">
  <div class="inner">
    <div class="toggle">
      <div class="lines" aria-label="切换导航栏">
        <span class="line"></span>
        <span class="line"></span>
        <span class="line"></span>
      </div>
    </div>
    <ul class="menu">
      <li class="item title"><a href="/" rel="start">米花町2丁目21番地</a></li>
    </ul>
    <ul class="right">
      <li class="item theme">
        <i class="ic i-sun"></i>
      </li>
      <li class="item search">
        <i class="ic i-search"></i>
      </li>
    </ul>
  </div>
</nav>

      </div>
      <div id="imgs" class="pjax">
        <ul>
          <li class="item" data-background-image="https://s2.loli.net/2023/02/24/mM7tVigUowA6jKx.png"></li>
          <li class="item" data-background-image="https://s2.loli.net/2023/02/24/3I76dR98Jp1UOyF.jpg"></li>
          <li class="item" data-background-image="https://s2.loli.net/2023/02/24/8yBeLOYfSqnip2o.png"></li>
          <li class="item" data-background-image="https://s2.loli.net/2023/02/24/yOPEmBw82Se3lCs.jpg"></li>
          <li class="item" data-background-image="https://s2.loli.net/2023/02/24/jdvGIJ2msytAMxH.png"></li>
          <li class="item" data-background-image="https://s2.loli.net/2023/02/24/Qs79B1wVMhzNTqZ.png"></li>
        </ul>
      </div>
    </header>
    <div id="waves">
      <svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto">
        <defs>
          <path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" />
        </defs>
        <g class="parallax">
          <use xlink:href="#gentle-wave" x="48" y="0" />
          <use xlink:href="#gentle-wave" x="48" y="3" />
          <use xlink:href="#gentle-wave" x="48" y="5" />
          <use xlink:href="#gentle-wave" x="48" y="7" />
        </g>
      </svg>
    </div>
    <main>
      <div class="inner">
        <div id="main" class="pjax">
          
  <div class="article wrap">
    
<div class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
<i class="ic i-home"></i>
<span><a href="/">首页</a></span><i class="ic i-angle-right"></i>
<span  class="current" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a href="/categories/%E5%8C%BA%E5%9D%97%E9%93%BE/" itemprop="item" rel="index" title="分类于 区块链"><span itemprop="name">区块链</span></a>
<meta itemprop="position" content="1" /></span>
</div>

    <article itemscope itemtype="http://schema.org/Article" class="post block" lang="zh-CN">
  <link itemprop="mainEntityOfPage" href="https://ashgen.gitee.io/2023/03/01/%E5%8C%BA%E5%9D%97%E9%93%BE/Hyperledger%20Fabric%E8%81%94%E7%9B%9F%E9%93%BE%E7%AE%80%E4%BB%8B/">

  <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
    <meta itemprop="image" content="/images/haibara.png">
    <meta itemprop="name" content="Ashgen">
    <meta itemprop="description" content="本站制作时长两年半, 吉兆要出现三次，幸运才会降临；谢幕时应当三次鞠躬；而在风来人的剑斗剧中，胜负的对手也有三名。">
  </span>

  <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
    <meta itemprop="name" content="寻找未曾见过的你">
  </span>

  <div class="body md" itemprop="articleBody">
    

    <p><span class="exturl" data-url="aHR0cHM6Ly96aHVhbmxhbi56aGlodS5jb20vcC85MTQzMTg4NQ==">区块链交易原理</span></p>
<p><span class="exturl" data-url="aHR0cHM6Ly96aHVhbmxhbi56aGlodS5jb20vcC84OTMzMzQwMg==">公有链、私有链、联盟链的区别</span></p>
<p><span class="exturl" data-url="aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21hb3FpdWtlamkvYXJ0aWNsZS9kZXRhaWxzLzExOTcyOTM3NQ==">许可区块链与无许可区块链</span></p>
<p><span class="exturl" data-url="aHR0cHM6Ly9oeXBlcmxlZGdlci1mYWJyaWMucmVhZHRoZWRvY3MuaW8vemhfQ04vbGF0ZXN0L2luZGV4Lmh0bWw=">Hyperledger Fabric 文档</span></p>
<h1 id="什么是挖矿"><a class="markdownIt-Anchor" href="#什么是挖矿">#</a> 什么是挖矿</h1>
<p>传统商品的供应链，大家都比较熟悉，简单划分就是：生产 —— 交易 —— 使用。作为一般等价物的比特币，也存在着这 3 个环节：生产 —— 交易 —— 应用。了解了比特币的生产环节，也明白了什么叫做 “挖矿”。</p>
<p>区块链的本质，是一个分布式的公共账本，是一个记账系统，每一个参与的点，都可以在上边记账。虽然每一个参与的点都有记账的权利，但是这个账到底怎么一个计法？谁来记？怎么记？</p>
<p>比特币采用了一种叫做 PoW 工作量证明的机制。大概意思是说，每个节点都想记账，那么到底由哪个节点来记呢？计算能力最强大的那一个记喽。</p>
<p>谁的计算能力最强大呢？那就得比一比了，怎么比？数学竞赛！系统每次会出一道数学题，只有最快解出这道题目的计算机才能进行记账。获得了这个记账权的计算机，同时获得一个单位的比特币奖励。</p>
<p>“一个单位” 到底是多少？这得从比特币的分配机制说起。比特币是模拟黄金的储量和发行速度的。在储量上，比特别是限量发行的，总量有且只有 2100 万枚。在发行速度上，比特币有个 “减半机制”，每产生 21 万个区块（几乎是每 4 年），就进行一次减半：最开始获得一次记账权，奖励 50 个比特币；2012 年 12 月 28 日，比特币迎来第一次减半，获得一次记账权，奖励只有 25 个比特币；2016 年 7 月 9 日，比特别迎来第二次减半，获得一次记账权，奖励只有 12.5 个比特币了。</p>
<p>比特币既然模拟黄金，那获得比特币也就被叫做 “挖矿” 了。挖矿，就是计算机们参与到数据竞赛中，并获得比特币奖励的过程。挖矿的人，就叫做矿工。</p>
<p>最开始算力竞争不激烈的时候，大家在家里或者办公室里，用 CPU 挖矿，然后用 1 万枚比特币买了俩披萨那个哥们儿，开创了用 GPU 挖矿，这股风潮一度带动了 GPU 断货。</p>
<p>但是挖着挖着，竞争越来越激烈，大家发现 GPU 算力也跟不上了。于是就有了专门的矿机。矿机就是专门用来挖币的电脑，搭载有专业的挖矿晶元，多采用烧显卡的方式工作。矿机有两个缺点：一是产生较大噪音 —— 这也是为什么家庭挖矿不太可行；二是耗电量较大，有网友一台挖矿机 3 个月就用 1000 多度电，这么高的电费，很有可能把挖矿赚的钱抵消，或倒贴赔钱。</p>
<p>单个矿机作战力还是跟不上，然后就有了矿场和矿池。</p>
<p>“矿场” 就是把矿机放到一起，集中管理。早期特别粗放，就是弄个架子，把矿机挨个摞到架子上就可以了，后来发现这样会导致矿机损耗，就开始有了通风、隔尘、室内温度湿度等要求。矿场一般建立在电费比较便宜，比较稳定的地方，比如内蒙、四川。得益于中国完善的电力基础设施建设、廉价的火电水电或风电资源，中国力量也一直垄断着比特币矿场。</p>
<p>“矿池” 则是突破了地理位置的限制 —— 多人合作挖矿，将少量算力合并、联合运作，使用这种方式建立的网站便被称作矿池。</p>
<h1 id="联盟链"><a class="markdownIt-Anchor" href="#联盟链">#</a> 联盟链</h1>
<h2 id="1-简介"><a class="markdownIt-Anchor" href="#1-简介">#</a> 1. 简介</h2>
<p>区块链作为一种分布式账本技术，主要分为许可链和非许可链。其中许可链又分为私有链和联盟链。和 BTC 或 ETH 不同，联盟链是一种需要身份认证的区块链。只有通过认证的节点或组织才能参与联盟链网络中的交易。</p>
<h2 id="2-hyperledger-fabric"><a class="markdownIt-Anchor" href="#2-hyperledger-fabric">#</a> 2. Hyperledger fabric</h2>
<p>Hyperledger fabric 是一种联盟链。fabric 网络中的成员都需要在可信赖的成员服务提供者处注册，否则不能参与交易。/<em> 因此围绕联盟链产生了一些争议，一些人认为以 fabric 为代表的联盟链并不是真正的区块链，而另一些人则持反对意见。</em>/</p>
<p>fabric 有一个特有的功能，通道（channel）。通道中的成员与通道外的成员的相互隔绝的，只有同一个通道的成员能够共享账本，不同通道的成员之间的交易记录是不可互相查询的。值得一提的是，同一个节点可以加入不同的通道。</p>
<p>fabric 的共识机制是可以拔插的。共识机制是一个分布式系统里的名词，就是在不同的系统中并保持副本的一致性。fabric 允许网络中的节点自行选择最能代表参与者需求的共识机制。</p>
<p>fabric 中的账本系统包括两个组件：世界状态（数据库）和交易日志（历史记录）。每个参与者都拥有他们所属的 fabric 网络的账本副本。世界状态描述了账本在给定时间点的状态。它是账本的数据库，记录了当前状态的所有交易，是世界状态的更新历史。交易日志是不可插拔的，它只记录区块链网络中使用账本数据库前后的值。</p>
<h2 id="3-fabric的身份"><a class="markdownIt-Anchor" href="#3-fabric的身份">#</a> 3. Fabric 的身份</h2>
<p>身份是联盟链区别与公链的一个最重要特征。在公链中是没有身份这个概念的，每个节点都是相同的角色。而<em> fabric 身份是联盟链中最重要的概念，甚至可以没有之一</em>。联盟链中的身份确定了对资源的确切权限以及对参与者在区块链网络中拥有的信息的访问权限。</p>
<p>整个网络中分为几种角色：peer 节点（提交节点和背书节点），证书颁发机构 CA，其中成员服务提供者（Membership Service Provider, MSP）是一个可信任的权威机构，它不是 fabric 中的角色，但是为 fabric 中的节点提供可信的身份认证。fabric 中，默认的 MSP 实现使用 X.509 证书（使用最广泛的证书结构标准，包括证书信息 / 签名算法 / 数字签名等内容）作为身份，采用公钥基础结构（Pubic Key Infrastructure, PKI）作为分层模型。PKI 是身份供应商，为接入区块链网络的用户提供一个身份列表，用户的身份只能在身份列表的包含范围内选择；而 MSP 是接受身份供应商，会提供一个列表来确定哪些身份是可信的成员（也就是参与者）。</p>
<h2 id="4-公钥基础结构pubic-key-infrastructure-pki"><a class="markdownIt-Anchor" href="#4-公钥基础结构pubic-key-infrastructure-pki">#</a> 4. 公钥基础结构（Pubic Key Infrastructure, PKI）</h2>
<p>PKI 有四个关键要素：数字证书 / 公钥私钥 / 证书颁发机构和证书撤销列表：</p>
<p>数字证书包含了证书持有者（区块链网络参与者）的相关属性，其中最常见的证书类型就是 X.509 标准。最关键的是，证书持有者的公钥会在其证书中分发。数字签名可以验证消息的来源以及消息的完整性。</p>
<p>公钥私钥的作用是为了验证数字签名（如 Fig 1），这里用到了我们常说的非对称加密。密钥之间唯一的数学关系使得私钥在消息上的签名只有对应的公钥在相同的消息上才能匹配。参与者用私钥加密，而任何持有其公钥的用户都可以查看签名消息并验证签名。其中的公钥是每一个节点都可以使用的，用于充当授权锚；私钥被用在消息中产生数字签名。消息的接收者可以通过其所持有的发送者的公钥来验证数字签名的有效性，进而验证消息的来源和完整性。</p>
<p><img data-src="https://pic3.zhimg.com/80/v2-204c5b09ffdc82bf4612f31d7ee4be0a_1440w.webp" alt="img"></p>
<p>Fig 1 数字签名</p>
<p>证书颁发机构（Certificate Authority，CA）</p>
<p>CA 是一个区块链网络信任的权威机构，它可以向参与者或者节点颁发经过加密验证的数字证书。CA 向不同的参与者颁发证书，并对这些证书进行签名，将参与者的公钥绑定上去（可以选择包含参与者全部属性的列表）。区块链网络中的成员信任 CA（并知道 CA 的公钥），则可以信任经过 CA 认证的证书，并通过验证 CA 的签名来获得签名中包含的所有属性。数字证书可以作为信任锚，来验证不同参与者的消息。区块链网络中可以存在一个或多个 CA。</p>
<p>CA 分为根 CA 和中间 CA，它们构成了一条信任链。根 CA 能够给整个网络中的用户颁发证书，中间 CA 的证书直接或间接地由根 CA 颁发，可以有隐藏和保护根 CA 的作用。</p>
<p>Fabric CA 是一个内置的 CA 组建，用来给 fabric 网络充当根 CA，提供和管理证书。</p>
<p>证书吊销列表（Certificate Revocation Lists，CRL）是一个被吊销证书的黑名单，CRL 上的证书都将被视为无效。</p>
<h2 id="5-成员服务提供者membership-service-provider-msp"><a class="markdownIt-Anchor" href="#5-成员服务提供者membership-service-provider-msp">#</a> 5. 成员服务提供者（Membership Service Provider， MSP）</h2>
<p>PKI 解决了 fabric 网络中身份发放的问题，但由于节点的私钥永远都不会公开，因此还需要引入一种可以证实身份的机制 MSP 。</p>
<p>MSP 是一组被添加在网络中的配置文件夹，被用来在外部和内部定义组织（organization）。CA 生成代表身份的证书，而 MSP 包含了被许可身份的列表。MSP 通过识别成员或向成员颁发身份的 CA，来确定是否接受它们作为信任域的成员。MSP 通过标志参与者在节点或通道中的特定权利，将身份转化为角色。<strong>简而言之，PKI（具体说是 CA）提供的是身份；而 MSP 提供的是角色</strong>。</p>
<p>当用户使用 Fabric CA 注册时，其必须关联为管理员 /peer 节点 / 客户端 / 排序节点 / 成员其中之一的角色。MSP 根据作用范围的不同分为：本地 MSP 和通道 MSP。本地 MSP 为客户端 /peer 节点 / 排序节点定义，每一个节点都必须定义一个本地 MSP。通道 MSP 则在通道层面定义了管理权和参与权，在通道中分配成员的权限，每一个参与通道的组织都要为自己定义一个通道 MSP。</p>
<p>因此，MSP 是一种能使参与者加入联盟链的机制，想要在 Fabric 网络上进行交易需要：</p>
<p>1. 拥有一个 CA 颁发的身份；2. 成为一个被网络中的成员认可的组织成员（将成员的公钥添加到组织的 MSP 中即可）；3. 将 MSP 添加到一个网络中的联盟或通道中；4. 确保 MSP 包含在网络所定义的策略（Policy）中。</p>
<h2 id="6-策略policy"><a class="markdownIt-Anchor" href="#6-策略policy">#</a> 6. 策略（Policy）</h2>
<p>在 Fabric 中，策略是基础设施的管理机制。它表示了成员如何同意或拒绝网络 / 通道 / 智能合约的更改。策略是在区块链网络最初配置时由联盟成员一致同意的，但在网络演化的过程中可以更改。简而言之，在区块链网络中的所有行为都要受到策略的控制。</p>
<p>策略是 Fabirc 区别于公链的内容之一。在公链中，交易可以在网络中的任意节点中生成和验证，但是 Fabric 是许可链的一种，因此策略决定了哪些组织可以访问或更新 Fabric 网络，并且提供了强制执行这些决策的机制。从这个角度看，我认为 Fabric 的可监管性更强。</p>
<p>策略在 Fabric 网络的不同层级中都有应用。至于具体应用和访问控制列表（Access Control List，ACL）就放在后面再学了，这部分我感觉更偏向与工程实践。</p>
<p>另外专门说两个我认为比较关键的策略：背书策略（Endorsement policy）定义了必须为执行提案背书的组织；修改策略（Modification policy）指定了任何配置更新所需要的一组身份，是更新策略的策略，每一个通道配置中都包含一个对修改策略的引用。</p>

      <div class="tags">
          <a href="/tags/%E5%8C%BA%E5%9D%97%E9%93%BE/" rel="tag"><i class="ic i-tag"></i> 区块链</a>
      </div>
  </div>

   <footer>

    <div class="meta">
  <span class="item">
    <span class="icon">
      <i class="ic i-calendar-check"></i>
    </span>
    <span class="text">更新于</span>
    <time title="修改时间：2023-03-25 14:30:29" itemprop="dateModified" datetime="2023-03-25T14:30:29+08:00">2023-03-25</time>
  </span>
  <span id="2023/03/01/区块链/Hyperledger Fabric联盟链简介/" class="item leancloud_visitors" data-flag-title="联盟链简介" title="阅读次数">
      <span class="icon">
        <i class="ic i-eye"></i>
      </span>
      <span class="text">阅读次数</span>
      <span class="leancloud-visitors-count"></span>
      <span class="text">次</span>
  </span>
</div>

      
<div class="reward">
  <button><i class="ic i-heartbeat"></i> 赞赏</button>
  <p>请我喝[茶]~(￣▽￣)~*</p>
  <div id="qr">
      
      <div>
        <img data-src="/images/wechatpay.png" alt="Ashgen 微信支付">
        <p>微信支付</p>
      </div>
      
      <div>
        <img data-src="/images/alipay.png" alt="Ashgen 支付宝">
        <p>支付宝</p>
      </div>
      
      <div>
        <img data-src="/images/paypal.png" alt="Ashgen QQ">
        <p>QQ</p>
      </div>
  </div>
</div>

      

<div id="copyright">
<ul>
  <li class="author">
    <strong>本文作者： </strong>Ashgen <i class="ic i-at"><em>@</em></i>寻找未曾见过的你
  </li>
  <li class="link">
    <strong>本文链接：</strong>
    <a href="https://ashgen.gitee.io/2023/03/01/%E5%8C%BA%E5%9D%97%E9%93%BE/Hyperledger%20Fabric%E8%81%94%E7%9B%9F%E9%93%BE%E7%AE%80%E4%BB%8B/" title="联盟链简介">https://ashgen.gitee.io/2023/03/01/区块链/Hyperledger Fabric联盟链简介/</a>
  </li>
  <li class="license">
    <strong>版权声明： </strong>本站所有文章除特别声明外，均采用 <span class="exturl" data-url="aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzQuMC9kZWVkLnpo"><i class="ic i-creative-commons"><em>(CC)</em></i>BY-NC-SA</span> 许可协议。转载请注明出处！
  </li>
</ul>
</div>

  </footer>

</article>

  </div>
  

<div class="post-nav">
    <div class="item left">
      

  <a href="/2023/02/28/C/C%E8%AF%AD%E8%A8%80%E9%97%AE%E9%A2%98/" itemprop="url" rel="prev" data-background-image="https:&#x2F;&#x2F;s2.loli.net&#x2F;2023&#x2F;02&#x2F;24&#x2F;3I76dR98Jp1UOyF.jpg" title="C语言问题">
  <span class="type">上一篇</span>
  <span class="category"><i class="ic i-flag"></i> C</span>
  <h3>C语言问题</h3>
  </a>

    </div>
    <div class="item right">
      

  <a href="/2023/03/04/C/C++%E9%97%AE%E9%A2%98/" itemprop="url" rel="next" data-background-image="https:&#x2F;&#x2F;s2.loli.net&#x2F;2023&#x2F;05&#x2F;13&#x2F;wykOK4fn9MrXcod.png" title="C++问题">
  <span class="type">下一篇</span>
  <span class="category"><i class="ic i-flag"></i> C</span>
  <h3>C++问题</h3>
  </a>

    </div>
</div>

  
  <div class="wrap" id="comments"></div>


        </div>
        <div id="sidebar">
          

<div class="inner">

  <div class="panels">
    <div class="inner">
      <div class="contents panel pjax" data-title="文章目录">
          <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E4%BB%80%E4%B9%88%E6%98%AF%E6%8C%96%E7%9F%BF"><span class="toc-number">1.</span> <span class="toc-text"> 什么是挖矿</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E8%81%94%E7%9B%9F%E9%93%BE"><span class="toc-number">2.</span> <span class="toc-text"> 联盟链</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#1-%E7%AE%80%E4%BB%8B"><span class="toc-number">2.1.</span> <span class="toc-text"> 1. 简介</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#2-hyperledger-fabric"><span class="toc-number">2.2.</span> <span class="toc-text"> 2. Hyperledger fabric</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#3-fabric%E7%9A%84%E8%BA%AB%E4%BB%BD"><span class="toc-number">2.3.</span> <span class="toc-text"> 3. Fabric 的身份</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-%E5%85%AC%E9%92%A5%E5%9F%BA%E7%A1%80%E7%BB%93%E6%9E%84pubic-key-infrastructure-pki"><span class="toc-number">2.4.</span> <span class="toc-text"> 4. 公钥基础结构（Pubic Key Infrastructure, PKI）</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#5-%E6%88%90%E5%91%98%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85membership-service-provider-msp"><span class="toc-number">2.5.</span> <span class="toc-text"> 5. 成员服务提供者（Membership Service Provider， MSP）</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#6-%E7%AD%96%E7%95%A5policy"><span class="toc-number">2.6.</span> <span class="toc-text"> 6. 策略（Policy）</span></a></li></ol></li></ol>
      </div>
      <div class="related panel pjax" data-title="系列文章">
        <ul>
          <li class="active"><a href="/2023/03/01/%E5%8C%BA%E5%9D%97%E9%93%BE/Hyperledger%20Fabric%E8%81%94%E7%9B%9F%E9%93%BE%E7%AE%80%E4%BB%8B/" rel="bookmark" title="联盟链简介">联盟链简介</a></li>
        </ul>
      </div>
      <div class="overview panel" data-title="站点概览">
        <div class="author" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <img class="image" itemprop="image" alt="Ashgen"
      data-src="/images/haibara.png">
  <p class="name" itemprop="name">Ashgen</p>
  <div class="description" itemprop="description">吉兆要出现三次，幸运才会降临；谢幕时应当三次鞠躬；而在风来人的剑斗剧中，胜负的对手也有三名。</div>
</div>

<nav class="state">
    <div class="item posts">
      <a href="/archives/">
        <span class="count">23</span>
        <span class="name">文章</span>
      </a>
    </div>
    <div class="item categories">
      <a href="/categories/">
        <span class="count">11</span>
        <span class="name">分类</span>
      </a>
    </div>
    <div class="item tags">
      <a href="/tags/">
        <span class="count">11</span>
        <span class="name">标签</span>
      </a>
    </div>
</nav>

<div class="social">
      <span class="exturl item zhihu" data-url="aHR0cHM6Ly93d3cuemhpaHUuY29tL3Blb3BsZS93dS1jaGFuLWppZS1qaS05OC05NQ==" title="https:&#x2F;&#x2F;www.zhihu.com&#x2F;people&#x2F;wu-chan-jie-ji-98-95"><i class="ic i-zhihu"></i></span>
      <a href="/barbatos@foxmail.com" title="barbatos@foxmail.com" class="item email"><i class="ic i-envelope"></i></a>
</div>

<ul class="menu">
  
    
  <li class="item">
    <a href="/" rel="section"><i class="ic i-home"></i>首页</a>
  </li>

    
  <li class="item">
    <a href="/about/" rel="section"><i class="ic i-user"></i>关于</a>
  </li>

        
  <li class="item dropdown">
      <a href="javascript:void(0);"><i class="ic i-feather"></i>文章</a>
    <ul class="submenu">

        
  <li class="item">
    <a href="/archives/" rel="section"><i class="ic i-list-alt"></i>归档</a>
  </li>

        
  <li class="item">
    <a href="/categories/" rel="section"><i class="ic i-th"></i>分类</a>
  </li>

        
  <li class="item">
    <a href="/tags/" rel="section"><i class="ic i-tags"></i>标签</a>
  </li>

  </ul>
    
  <li class="item">
    <a href="/friend-links/" rel="section"><i class="ic i-heart"></i>友链</a>
  </li>


</ul>

      </div>
    </div>
  </div>

  <ul id="quick">
    <li class="prev pjax">
        <a href="/2023/02/28/C/C%E8%AF%AD%E8%A8%80%E9%97%AE%E9%A2%98/" rel="prev" title="上一篇"><i class="ic i-chevron-left"></i></a>
    </li>
    <li class="up"><i class="ic i-arrow-up"></i></li>
    <li class="down"><i class="ic i-arrow-down"></i></li>
    <li class="next pjax">
        <a href="/2023/03/04/C/C++%E9%97%AE%E9%A2%98/" rel="next" title="下一篇"><i class="ic i-chevron-right"></i></a>
    </li>
    <li class="percent"></li>
  </ul>
</div>


        </div>
        <div class="dimmer"></div>
      </div>
    </main>
    <footer id="footer">
      <div class="inner">
        <div class="widgets">
          
<div class="rpost pjax">
  <h2>随机文章</h2>
  <ul>
      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/" title="分类于 数据库">数据库</a>
</div>

    <span><a href="/2023/03/12/%E6%95%B0%E6%8D%AE%E5%BA%93/%E7%AC%AC%E5%8D%81%E7%AB%A0%E6%95%B0%E6%8D%AE%E5%BA%93%E6%81%A2%E5%A4%8D%E6%8A%80%E6%9C%AF/" title="第十章：数据库系统概述">第十章：数据库系统概述</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/python/" title="分类于 python">python</a>
</div>

    <span><a href="/2023/02/27/python/anaconda%E7%8E%AF%E5%A2%83/" title="python环境配置">python环境配置</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/" title="分类于 数据库">数据库</a>
</div>

    <span><a href="/2023/03/06/%E6%95%B0%E6%8D%AE%E5%BA%93/%E7%AC%AC%E4%B8%80%E7%AB%A0%E7%BB%AA%E8%AE%BA/" title="第一章：数据库系统概述">第一章：数据库系统概述</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/" title="分类于 数据库">数据库</a>
</div>

    <span><a href="/2023/03/17/%E6%95%B0%E6%8D%AE%E5%BA%93/%E7%AC%AC%E4%B8%89%E7%AB%A0/" title="第三章">第三章</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/C/" title="分类于 C">C</a>
</div>

    <span><a href="/2023/02/28/C/C%E8%AF%AD%E8%A8%80%E9%97%AE%E9%A2%98/" title="C语言问题">C语言问题</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/sketchup/" title="分类于 sketchup">sketchup</a>
</div>

    <span><a href="/2023/02/25/sketchup/sketchup%E5%AF%BC%E5%85%A5Unity3d/" title="sketchup导入Unity3d">sketchup导入Unity3d</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/" title="分类于 数据库">数据库</a>
</div>

    <span><a href="/2023/03/12/%E6%95%B0%E6%8D%AE%E5%BA%93/%E7%AC%AC%E5%85%AB%E7%AB%A0%E6%95%B0%E6%8D%AE%E5%BA%93%E7%BC%96%E7%A8%8B/" title="第八章：数据库编程">第八章：数据库编程</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/C/" title="分类于 C">C</a>
</div>

    <span><a href="/2023/03/17/C/C++%E5%AE%9E%E7%94%A8%E5%87%BD%E6%95%B0/" title="C++实用函数">C++实用函数</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/%E7%94%9F%E6%B4%BB/" title="分类于 生活">生活</a>
</div>

    <span><a href="/2023/02/26/%E7%94%9F%E6%B4%BB/%E5%8C%97%E4%BA%AC%E6%B8%B8%E7%8E%A9%E6%94%BB%E7%95%A5/" title="北京游玩攻略">北京游玩攻略</a></span>
  </li>

      
  <li class="item">
    
<div class="breadcrumb">
<a href="/categories/java/" title="分类于 java">java</a>
</div>

    <span><a href="/2023/03/26/java/JDK%E4%B8%8EJRE%E7%9A%84%E5%8C%BA%E5%88%AB/" title="JDK与JRE的区别">JDK与JRE的区别</a></span>
  </li>

  </ul>
</div>
<div>
  <h2>最新评论</h2>
  <ul class="leancloud-recent-comment"></ul>
</div>

        </div>
        <div class="status">
  <div class="copyright">
    
    &copy; 
    <span itemprop="copyrightYear">2023</span>
    <span class="with-love">
      <i class="ic i-sakura rotate"></i>
    </span>
    <span class="author" itemprop="copyrightHolder">Ashgen @ 米花町2丁目21番地</span>
  </div>
  <div class="count">
    <span class="post-meta-item-icon">
      <i class="ic i-chart-area"></i>
    </span>
    <span title="站点总字数">22k 字</span>

    <span class="post-meta-divider">|</span>
    <span class="post-meta-item-icon">
      <i class="ic i-coffee"></i>
    </span>
    <span title="站点阅读时长">20 分钟</span>
  </div>
  <div class="powered-by">
    基于 <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlv">Hexo</span> & Theme.<span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL2FtZWhpbWUvaGV4by10aGVtZS1zaG9rYQ==">Shoka</span>
  </div>
</div>

      </div>
    </footer>
  </div>
<script data-config type="text/javascript">
  var LOCAL = {
    path: '2023/03/01/区块链/Hyperledger Fabric联盟链简介/',
    favicon: {
      show: "（●´3｀●）やれやれだぜ",
      hide: "(´Д｀)大変だ！"
    },
    search : {
      placeholder: "文章搜索",
      empty: "关于 「 ${query} 」，什么也没搜到",
      stats: "${time} ms 内找到 ${hits} 条结果"
    },
    valine: true,fancybox: true,
    copyright: '复制成功，转载请遵守 <i class="ic i-creative-commons"></i>BY-NC-SA 协议。',
    ignores : [
      function(uri) {
        return uri.includes('#');
      },
      function(uri) {
        return new RegExp(LOCAL.path+"$").test(uri);
      }
    ]
  };
</script>

<script src="https://cdn.polyfill.io/v2/polyfill.js"></script>

<script src="//cdn.jsdelivr.net/combine/npm/pace-js@1.0.2/pace.min.js,npm/pjax@0.2.8/pjax.min.js,npm/whatwg-fetch@3.4.0/dist/fetch.umd.min.js,npm/animejs@3.2.0/lib/anime.min.js,npm/algoliasearch@4/dist/algoliasearch-lite.umd.js,npm/instantsearch.js@4/dist/instantsearch.production.min.js,npm/lozad@1/dist/lozad.min.js,npm/quicklink@2/dist/quicklink.umd.js"></script>

<script src="/js/app.js?v=0.2.5"></script>




</body>
</html>
